查看原文
其他

章文嵩:开源为我打开一扇窗

程序人生 2022-06-23

The following article is from CSDN Author 李欣欣、谷磊等

提及中国开源早期的自由软件LVS具有代表意义其作者章文嵩对自己的评价是“一个比较注重做实际工作的有用的人该评价贯彻了他的职业生涯始终LVS到淘宝阿里云再到滴滴高瓴他也一直在践行“有用”《》特邀刘韧采访了这位声名在外的“技术行者”讲述他编程人生中鲜为人知的故事


受访嘉宾 | 章文嵩    采访嘉宾 | 刘韧
作者 | 李欣欣、谷磊、刘韧    责编 | 田玮靖
出品 | 《》编辑部

章文嵩

2012年11月11日零时,中国杭州,在淘宝“双11”购物节作战室的大屏幕上,每秒钟的实时交易数据急速翻滚。突然,一个异常数据显示,一部分交易系统因为发生网络拥塞访问不到主数据库,交易自动切到了数据库;此时,若停止交易则来不及排错且容易引发其他未知错误若不停止交易交易系统则会出现超卖现象快速讨论作战室决定让交易继续从而不影响用户体验 

“双11”的补贴销售与超卖让商家蒙受了巨大损失因淘宝团队的诚恳道歉大部分商家选择原谅并承担损失而另一部分无法承担超卖损失的商家,淘宝向其赔偿了数亿元此次事故中,虽然淘宝内部无人因此受罚但教训依然深刻

2012年“双11”前,淘宝所有团队按照既定流程,依照过去三年的作战经验和步骤,使每一步、每个人都做到了位,每个组件都各自测压,唯独忽略了整体链路衔接中各个组件的畅通性。这次事故超出了当时所有人的经验,从那以后,“压力测试”便多了一道防线, 以买家购物的实际流程对生产系统进行全链路压测,尽管这样做成本很高但这是保障生产系统稳定性的最有效手段

时间倒回20091111这天是淘宝第一个“双11购物节章文嵩依然记得他们面对的严峻考验一过零系统瞬间涌入如海啸般凶猛的交易数据LVS载均衡起家的章文嵩仅知晓计算机系统运转的底层逻辑而且对理论基础有深刻理解他善于拆解问题能看清问题背后的本质并提前进行技术布局和团队建找到实际有效的解决之道

彼时,淘宝成交量不断创新高,成为国内最大的商业系统。章文嵩为淘宝带来的技术积累,使系统得以支持飞速发展的业务,扛住了一次又一次购物狂潮的冲击。而淘宝也给章文嵩带来了颇丰厚的股票收入。

而在2009年7月,章文嵩还宅在妻子单位分的房子里,苦闷地反思其失败的创业经历并思考下一次创业。妻子每天上班前问:“你今天准备在家待着啊?”中午回家吃饭问“你下午还待在家里啊?”晚上下班回家问:“你今天一天都在家里啊?”面对妻子的灵魂拷问文嵩只能尴尬说“是”一个月后见他仍没动静子终于摊牌“你不要整天坐在家里啊看得我心烦 你要么去创业要么找份工作做什么都行 章文嵩赶紧坦白“其实淘宝已经找我很久了我还没答应妻子道“那你赶紧去吧” 

2009936岁的章文嵩加入淘任资深技术总监淘宝看中章文嵩做负载均衡系统的能力章文嵩则从淘宝学习和掌握了操盘国内最大商业系统的实践经验“淘宝当时有七八千台服务器但没有真正做底层基设施软件的团队”章文嵩组建的核心系统团队为淘宝的底层系统高速成长打好了“地基”,使其能够承超大规模访问量的冲击

2010年某天,章文嵩和彼时的淘宝运维负责人刘振飞正在杭州机场候机。新闻播报玉树发生了地震,所有网站首页变成了黑白色,全国娱乐场所歇业。刘振飞接到同事的汇报电话:淘宝流量暴增,是平时的数倍。刘振飞正犹豫是否要返回杭州总部时,章文嵩计算后对他说:“应该能扛住,不用回。”结果如章文嵩所料, 淘宝扛住了流量暴增,这是因为半年前他带着团队构建了强大且高效的CDN系统。CDN系统在基于LVS实现了高性能负载均衡组件的同时,大量采用低功耗服务器对规模、性能、成本做了优化和容量扩展。于章文嵩而言,“系统建设最好走在前面,不能等网站瘫痪后再亡羊补牢,这样成本低一点,当然网站瘫痪有时也不能避免。”

本文节选自《新程序员004》 『纸质书+电子刊』已开启预售


从阿里云、滴滴出行到高瓴集团

 

章文嵩路过负责SLB(负载均衡)同事的工位时问:“两个星期前遇到的技术故障处理得如何了?”同事一边思考该怎么回答,一边指着代码说,“可能是这附近出了问题,一直在调试。”章文嵩凑过去看了看,出了个主意,同事照做:发一个报文SLB立即崩溃了。故障重现后问题马上得到了解决,同事很兴奋:“哇!姜还是老的辣! ”

2013章文嵩和团队在帮忙解“飞天5K”的关键问题整个团队被并入阿里云并入阿里云有两个目的面是提升现有ECS等主要云产品的稳定性和性能另一把淘宝技术沉淀为一百多个云产品并形成矩阵阿里云正以每年三位数的增长进入飞速发展期

在阿里云,章文嵩管理着很大的技术团队:“管理是门技术,也是门艺术。”章文嵩直言,他做过LVS开源项目,在淘宝管理团队时也真心实意地认可团队成员的工作,帮助团队解决遇到的问题,让大家获得荣誉。“我和大家一起探讨团队目标和核心KPI指标,深挖系统的度量体系,制定出清晰而准确的长期目标和短期目标,让团队成员自主定制时间进度表,主动完成对结果的承诺。”在章文嵩看来,“做管理不是强加于人,即使有人完成工作的时间进度比我脑子里的时间表晚一小段,我也是认可的。”

彼时交通行业的变革悄然袭来章文嵩察觉到其中蕴藏着的巨大机会如智慧交通自动驾驶等而以当时代表企业滴滴来看滴滴的业务对IT技术的要求非常若自动驾驶到来其背后所需的计算系统则更加庞用章文嵩的话说订单调度问题的复杂度远高于围“用户的订单进来派附近哪一台车才是最优解?这是个非常复杂的问题里面涉及诸多因素如系统撮用户画像供需预测空间分布全局最优等

在2016年5月25日,章文嵩出任滴滴出行高级副总裁,如他所料,他面临的技术挑战非常大,一方面需要不断加强平台的稳定性建设,另一方面要为滴滴业务打造使用效率、性能更高,成本更低的技术平台。在滴滴工作近五年,章文嵩主要负责中台、后台的建设,还做了一些垂直的创新业务,如智慧交通、车载摄像头、滴滴云。

目前,章文嵩身在高瓴集团,自2021年4月19日加入以来,主要做科与技相关的投资孵化和赋能他坦言比起只投资钱,他更喜欢做孵化。看准一个领域,判断有前景后,以投资合伙人的身份攒局,再找合适的人一起做项和企业一起发还可以发挥自己的技术长处谈及为何会切换到投资赛道章文嵩说,“想尝试新东西,投资的涉及面会更广,可以帮助更多年轻人成功。” 


波折的转学经历


转学要考三门课,章文嵩只有数学及格。从学校出来,章文嵩跟在妈妈身后,两人默默走向客车站。妈妈突然转身带着章文嵩往另一个方向走,她想到有个同学是东方红小学五年级一个班的班主任。老同学说“没关系,就到我班上来吧。”章文嵩总算转学成功了。

197381章文嵩在浙江台州黄岩区头陀镇出生爸爸从东南大学毕业后分在上海工作妈妈中专毕业在镇上供销社当采购和会计带着章文嵩姐弟三人在农村生活。爸爸只有春节才能回家。

妈妈带着章文嵩姐弟三人

章文嵩喜欢把爸爸带回家的玩具拆开再组装,他会打麻将和下象棋,无师自通。村里大多数人都下不过他,但他下象棋赢不了爸爸,直到高中才扳回局面。

暑假,8岁的章文嵩独自坐船从台州到上海,爸爸会在上海十六铺码头接他上海对章文嵩来说很新奇“但农村带给我的乐趣比上海多”章文嵩不仅会抓鱼野果钻山洞还会干各种农活除了小学第一学期在学习其他时间缺乏老师的教导无人看管章文嵩就趁机逃学去山上晃荡放飞的日子一直到四年级结束转入东方红小学

章文嵩从此寄宿在县城亲戚家,平常自己洗衣服。认真学习一年后,章文嵩考上了当地最好的黄岩中学。初二下学期,受益于国家解决高级知识分子两地分居的政策,1986年春节后全家在上海团聚。来到上海的章文嵩迷上了《魂斗罗》之类的街机游戏,每月零花钱很快在街机厅消耗完。“初二最喜欢几何,觉得严谨的逻辑推演过程太迷人!语文较差。”那时的章文嵩偏科已经明显了,他先在爸爸单位附近的中学上完初二,分到公房后,又转到上海闸北区的中学读完初三。

中考,章文嵩考得不好。“我上学早,当时上海的小学已改为六年制,所以初中毕业时我只有14岁,比同班同学小一两岁。个子也最矮,高一的时候我才1米49。我也不喜欢死记硬背,只靠理解力内化知识,凭兴趣爱好分配投入度,所以只有数、理、化学得好。”


 只想上国防科大


高考前一个月,爸爸收到班主任发来的警告:“章文嵩再这么玩下去,恐怕连大学也考不上!”爸爸回家转达:“你是我儿子,怎么会考不上大学?!”章文嵩自此开始备战高考,结果考了全校第一名,被国防科技大学(以下简称“国防科大”)提前录取。

1987上高一的章文嵩每逢周日就背上干粮去上海青少年科学技术指导站(以下简称“少科站”从早到晚待在机房玩游戏。少科站教编程的老师毕业于华东师范大学计算机系很理解孩子们爱玩游戏的心理放任大家玩了一个多月后,突然问道:“游戏好玩儿吗?”大家异口同声地说好玩“那你们知道怎么写游戏吗?”这一下子就激发出了同学们的好奇

接着,老师拿出事先在白纸上写好的BASIC程序代码让同学们照着敲,机房里响起一阵噼里啪啦敲击键盘的声音。章文嵩敲完十几行代码后,屏幕上出现现了精美的图案,再敲个空格,又变化成另一幅图案,章文嵩惊呆了:“除了游戏,计算机还可以这么玩!”就这样,章文嵩将对游戏的兴趣转移到了学习编程上,很快学完了BASIC、Pascal和6502汇编。还把游戏改成“不死版”,分发给其他人玩。

高二,本校有了计算机中心。章文嵩幸运地拥有了一把机房钥匙,实现玩计算机自由。这份幸运来自高中第一堂化学课老师“突袭”摸底考试同学们毫无准备几乎全军覆没只记逻辑的章文嵩却考得很好一年后升任教导处主任的化学老师“很喜欢的学生”章文嵩配了把机房钥匙

1990年,国防科大在上海仅招5人,竞争很激烈。招生老师出于照顾贫困生的善意,综合考量后,跟章文嵩商量,要把他转到上海交通大学(以下简称“上海交 大”),将章文嵩的名额让给排在第6名的家庭困难的同学。章文嵩拒绝了,他知道国防科大的计算机系位居国内顶尖水平,研发了银河巨型计算机。当国防科大录取通知书寄到家里时,家人才知道章文嵩自作主张填报志愿,埋怨他为何不选上海交大或复旦大学继续留在上海,但也只能随他了。

 

21岁撑起湖南信息港扩容


国防科大实验室里,章文嵩在即将淘汰的SUN工作站搭建起MUD游戏,午休和周末同学们都沉迷于其中。章文嵩很享受通过文本发号施令的过程,“一个文嵩天神出现了,把他抓到另一个地方去”,在游戏中某个角色被抓到另一个地方,费半天周折才能出来。为了在游戏中享受特殊优待,不少同学私下要请章文嵩吃饭,被章文嵩一概拒绝了。

1995年,章文嵩和师姐到北京调研,期间参观了师姐在清华大学(以下简称“清华”)读研的同学的实验室,清华机房里仅有PC(个人计算机),比章文嵩1990年入校时用的机器都差。“我们学校的计算机设备有SUN全系列机器,型号从低端到高端一应俱全。”章文嵩由衷赞叹了国防科大。

章文嵩很喜欢国防科大简单而充实的生活,学费不用交,吃饭不花钱,衣服学校发,每月还有22元的津贴。章文嵩和同学制作了打开机房门的工具,在机房不开放时可以泡在那里,自然就逃了很多课。《概率论与数理统计》考试时,老师盘问说没见过他。而章文嵩认真备考了3天,依然拿了高分。

大二,老师选中章文嵩做项目,让他有机会进入对部分人限定开放且设备更好的实验室。1993年,章文嵩利用SUN机器自带的TCP/IP协议,对照着手册搭建了局域网。1994年,章文嵩本科毕业,以年级前5%的成绩保送本校研究生。

1995年,湖南要建信息港,精通TCP/IP协议的章文嵩被一家叫国讯的公司聘为专家顾问,21岁的他开始负责价值几千万的项目。章文嵩给长沙电信局局长讲解方案,局长质疑国讯:“怎么派个毛头小子来?你们公司没人了?”国讯回答:“他是我们公司最厉害的!”章文嵩负责信息港的整体规划、管理,直至交付验收。虽然在学校搭建的局域网是孤岛状态,但章文嵩很早就精通TCP/IP,在项目中边干边学。

为了保险起见。湖南信息港花“巨资”购买了SUN公司的邮件系统SIMS(Sun Internet Mail Server)。SUN公司派来的工程师从未安装过系统,枯坐很久无从下手。章文嵩只能一边看英文手册和电子资料一边安装,SUN公司的工程师旁观安装过程并写下笔记。在国讯,不管是否有工作,章文嵩每月都有固定收入——6000元,外加项目奖励。章文嵩用这笔钱给在上海交大上学的弟弟买了一台计算机。

1997年,硕士毕业的章文嵩打算找工作,而他的导师胡守仁教授屡次劝他读博。胡守仁是银河巨型机的贡献者之一计算机领域的权威科学家章文嵩也听话,继续在本校读博,这为一年后开发LVS埋下伏笔。

硕士毕业的章文嵩

 读博期间的章文嵩

 

LVS诞生即开源


湖南电信系统集成项目需要多台服务器做负载均衡,但一套思科LocalDirector要几万美元,章文嵩觉得:“这东西并不难写,为什么要卖那么贵?”1998年5月,章文嵩花两周写好了负载均衡器代码,跑通后,免费放在了互联网上,并在Linux Kernel邮件列表里广而告之。这就是后来广为人知的LVS(Linux Virtual Server,Linux虚拟服务器) 开源软件。章文嵩为Linux内核系统独立贡献约一万行代码,是中国第一人。

很快,一位澳洲的用户反馈LVS集配置简单、稳定可靠、可扩展性于一体。来自实际应用场景的持续反馈,激发着章文嵩继续开发的热情。开源的LVS很快聚集了来自世界各地的问题解决高手和技术专家,他们一起为LVS的优化添砖加瓦,章文嵩也从他们身上学习良多。保加利亚的Julian Anastasov一直是维护LVS的中坚力量,而章文嵩至今没有见过他。

1999—2000年,章文嵩经常参加Linux的会议,主动邀请Julian Anastasov参会并提供差旅费,“他都没来”。他们甚至没视频过,“可能都不需要,这可能也是开源的精神体现。”

凡是对LVS有贡献的人,其名字都会被章文嵩写入项目历史中,以尊重“同济者”。Horms想出一个让配置调度更简洁的办法:基于Firewall Marking值来做调度。他写了一个补丁发给章文嵩,章文嵩认为他的代码实现路径不够高效,帮他修改了代码,Julian Anastasov在此基础上修改后最终定版。尽管Horms的源代码已经被改得面目全非,Horms仍然被写入项目历史,“Horms的创意更重要,哪怕我和Julian改了很多代码。”

章文嵩(中)、Horms(左)和Richard M Stallman(右)

著名的RealPlayer播放器的制造商Real Networks对外提供视频服务,它的IT主管Jerry Glomph Black说:“我们试过所有的商用负载均衡器,LVS比它们都好,无论是可靠性、可管理性,还是成本等能想到的所有方面。”

后来,章文嵩有机会加入了Red Hat Kernel Team,此后Red Hat出资,使章文嵩能够有更多的出国参会机会。因为军人的身份,必须要有一名老师陪同章文嵩前往,陪同的老师也很开心。

瑞士LVS用户给章文嵩寄来一大包瑞士饼干。“饼干很好吃,但太多,吃不完,我分给同学们,还送给了我未来丈母娘。她开玩笑说:‘原来你每天加班加点写这个软件,就是为了饼干啊’。

Ottawa Linux Symposium大会上,章文嵩和Netfilter的作者Rusty Russell在酒吧相谈甚欢,临了,章文嵩写邮件给Rusty Russell问:LVS代码能否合到Netfilter下面,作为Linux负载均衡的一个模块。邮件石沉大海,章文嵩有点意外:“我猜是LVS使用文档里第一句话,如果要追求高性能,请卸载Netfilter Connection Tracking的Module,估计Rusty Russell不喜欢。

2003年,章文嵩意外收到Linux内核网络层总管David Miller的邮件:“LVS代码还没进官方内核吗?”章文嵩在回复“是的,还没进去”后,收到的答复是:“今天晚上我给你加进去。”LVS进入Linux内核后,很多人在网上冲浪都在用LVS的调度,阿里、腾讯、百度、谷歌等企业都在使用LVS。商用负载均衡产品F5在中国的总代理曾对章文嵩说:“F5在中国最大的竞争对手就是你的LVS。”

 

创业六年做了六个产品


1999年,章文嵩的上海老乡参加复旦大学的MBA竞赛。章文嵩趁机把LVS包装成创业项目帮助老乡参赛,结果获奖了。两人开始把参赛的思路落地,将LVS做成集群网络,售卖自带管理功能的定制软件集成盒子。到2001年春节,此前融到的350万天使投资额花得差不多了,但新的融资还没着落,运转了一年多的公司没有做成一个商业项目。“那时候我也没有运作公司的经验,加上2000年底,互联网疯狂烧钱的泡沫破了,很快公司关了。”

2003年,国防科大与中科院软件所合作,章文嵩被派往北京,很快被朋友们游说一起创业。他们看到从中心大型机到个人计算机给计算机产业带来的翻天覆地 的变化,相信智能从中心往边缘移动的趋势也会让通信行业发生巨大变革,所以选择符合这一理念的SIP协议做产品。彼时因非典(SARS)封闭在家的章文嵩写了Power Access帮助SIP穿越(NAT Traversal)家庭网关,后来合并了只有两人的硅谷创业公司(主要做SIP Proxy)。有了技术,但做什么呢?首先,他们做了一款语音会议室产品Meet2Talk,“我们找来亲友一试,发现大家没有共同话题,聊不起来。”于是,团队中一部分人转向做聊天工具TelTel,另一部分人做比酷网,意思是大家一起来比酷、炫才艺,号召用户把自己制作的动画、音乐、视频等传到网上,比谁更酷,这比2005年推出的YouTube早了一年多时间。然而,当流量突然暴涨时,“我们却付不起宽带费”。后来为了省流量转做 “阿比酷”,即可管理的P2P下载,类似后来的迅雷。“我们收到好莱坞关于侵犯版权的律师函后,就没坚持做下去了。

2004年6月,TelTel正式对外推出,“产品发布后我们才发现市场上已有类似产品,是2003年8月推出的Skype”,TelTel依旧迎来用户量的爆发式增长。章文嵩在2005年收到MySpace一亿美金的收购邀约,但团队想自己发展,后来发现不能仅依赖TelTel Out的商业模式。团队开始为D-Link做通过SIP协议管理的设备,在做了如VoIP话机、录音盒、数码相框之后,转向做下载播放盒,同时又做了用户可以创建频道的9×9 TV,包含81个频道。“因为广播电视总局发布58号文,通过中心平台可以管控到两个以上的设备属于广播系统,需要广电审批,9×9 TV事情就没法做了。”

创业时的章文嵩

2009年夏天,这是章文嵩创业的第6年,他感慨道,“六年间我们至少做了六个产品,尝试了很多方向,累计融资了五千万美金,都花光了。”2011年,世纪互联上市,因为章文嵩的创业公司持有一些世纪互联股份,清算时投资机构拿回了略高于投资的回报,但离投资机构期待的数倍或数十倍回报差得很远。“创业,时机和运气都很重要。现在看,当时很多产品理念超前,但没有坚持做下去,可能当时的认知没有跟上。因为创业失败自己也苦恼过,现在想想还是自己的修行不够,要有平常心,享受创业的过程。”


受益于开源,推动开源


参与开源对章文嵩的成长帮助极大:“开源为我打开了一扇窗户,我可以跟全世界互动,了解问题和需求,与他们共同开发开源产品,相互学习和成长,并从中获得快乐。”他受益于开源,也积极参与国内的开源活动,在2000年和国家863专家共创开源联盟,积极参与陆首群老先生领导的中国开源软件推进联盟(COPU)活动,经常开展开源讲座。

在阿里工作期间,章文嵩积极推动阿里的开源。时任淘宝CTO的吴泳铭非常支持开源:即使别人用淘宝的开源代码搭建了类似的网站,但淘宝的数据是日积月累的,谁也拿不走。对于用户而言,也更愿意在拥有信誉体系而非空空如也的平台上交易。比起外部的竞争,淘宝更需要在意自身业务飞速发展带来的技术挑战。

淘宝的基础平台除了自主开发,还建立在开源的基础上,淘宝本身是开源的受益者,应该回馈开源。淘宝首次开源,选择了Memory Cache与Key/Value Store–TAIR。2010年3月,章文嵩向团队提出对外开源TAIR,团队成员的第一反应是用三个月时间把代码清理干净再对外,虽说TAIR在生产系统中运行稳定,但技术人员很在乎自己的声誉,希望代码更干净且有更强的可读性。2010年6月,TAIR如期开源。TFS和Tengine等也相继开源,章文嵩说:“很快其他兄弟部门也响应开源计划,说明技术人员是喜欢做开源的。”截至2014年,阿里已开源百余款软件。而章文嵩在离开阿里前是ATA执行会长和开源委员会主席。

章文嵩到滴滴出行工作后,2017年夏天也发起了滴滴出行的开源计划,得到了滴滴技术团队的热烈响应,三年多的时间对外开源了72个项目,在GitHub累计获得超8.4万个Star,这再次证明了技术人喜欢做开源这一论断。

2021年,章文嵩作为主要发起人之一,成立了CCF开源发展委员会。其实,自2012年开始,章文嵩作为志愿者一直参加中国计算机学会(CCF)的活动,担任CCF常务理事。他说,“CCF已服务超十万人,将CCF和开源社团的治理结合起来,可能是开源社团建设的一种实践。”CCF开源发展委员会的使命是“构建产学研深度融合的开源生态,加速基础开源软件和硬件的快速发展,培养开源人才”,做长期对开源生态有帮助的事情。例如,建设本身开源的开源代码托管平台GitLink(产学研共建的软件工程创新平台),孵化开源项目,成为开源开发者沟通和交流的平台。

他想在今后的人生中,为国内的开源与技术生态发展再贡献一点点力量。

受访嘉宾:章文嵩,LVS(Linux Virtual Server,Linux虚拟服务器)开源软件创始人。现为高瓴投资合伙人,曾任滴滴出行高级副总裁、阿里云CTO、TelTel首席科学家、ChinaCluster的共同创办人等。

采访嘉宾:刘韧,互联港湾董事。1998年共同发起中国第一个互联网启蒙组织数字论坛;1999年发布中国第一个博客系统DoNews;2001年获北京大学中国经济研究中心财经奖学金。曾在《中国计算机报》《计算机世界》《知识经济》和人人网等媒体或互联网公司任记者、总编辑和副总裁等职。出版《中国.com》《知识英雄》《企业方法》《网络媒体教程》等十余本专著。

“身心俱疲,我们从 Google 离职了”
被“困”在琐事中的程序员:运行他人代码,每周只“深度工作” 10 小时!
监控 5 分钟抓拍一次人脸,不够 89 次算旷工!居家办公员工:不敢去厕所

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存